Desenvolvimento de Aplicações Paralelas com Threading Building Blocks Marcelo Fornazin (UNESP-SP)* 4h Este mini-curso apresenta a biblioteca Threading Building Blocks (TBB) e seus modelos do programação. Serão discutidas características da TBB, aplicações e modelos de uso como parallel_for, pipeline, concurrent_vector, etc. Ementa: - Introdução
- Evolução dos processadores x86
- Modelos de Programação Paralela
- Threading Building Blocks
- Características
- Aplicações
- Exemplo
- Modelos de Programação com TBB
- parallel_for
- pipeline
- concurrent_vector
- task
* Marcelo Fornazin é Mestre em ciência da Computação pela UNESP, atualmente trabalha com desenvolvimento e otimização de software na MStech. É docente em linguagens de programação na Universidade do Sagrado Coração (USC) e desenvolve pesquisas em computação no Laboratório de Tecnologia da Informação Aplicada (LTIA/UNESP).
Apresentação de Programação Paralela na Plataforma Microsoft Alexandre Nardi (Microsoft)* e Nicolas Maillard (UFRGS)** 2h A evolução do desenvolvimento do hardware na direção de processadores multicore abriu novas possibilidades para o uso crescente de programação paralela. No entanto, diferentemente do que ocorre com a programação para um único core, existem diversos fatores que tornam a programação mais complexa, como bloqueios, concorrência por outros recursos, testes, e assim por diante. Nesse mini-curso, apresentaremos algumas possibilidades na plataforma Microsoft, como o uso do OpenMP, da Parallel Pattern Library (PPL), do Concurrency Runtime (ConcRT) e do .NET Parallel Extensions. Veremos ainda a solução do HPC, com o MPI sendo usado com e sem o .NET. Os participantes terão a oportunidade de experimentar e testar o ambiente de programação em diversos cenários, com isso sendo capazes de avaliar esse tipo de desenvolvimento. * Alexandre Ricardo Nardi é Gerente de Novas Tecnologias para o Setor Acadêmico da Microsoft Brasil. Atualmente responsável pelos programas acadêmicos de acesso a software e relacionamento com o corpo docente. Trabalhou como Arquiteto de Soluções na Microsoft Brasil, Consultor e Gerente de Projetos. Formado em Ciência da Computação pela USP, está cursando o Doutorado em Ciência da Computação, na área de Sistemas Distribuídos. ** Nicolas Maillard possui gradução e mestrado em Matemáticas Aplicadas e Informática - ENSIMAG, Grenoble, França (1996), e doutorado em Ciências e Tecnologias da Informação - Univ. Joseph Fourier (2001). Atualmente, é professor adjunto da Universidade Federal do Rio Grande do Sul, onde leciona Sistemas Operacionais I e Compiladores na graduação, além de duas disciplinas no Programa de Pós-Graduação em Ciência da Computação, sobre programação e algoritmos paralelos. Tem experiência na área de Ciência da Computação, com ênfase em Processamento paralelo de alto desempenho, atuando principalmente nos seguintes temas: processamento de alto desempenho, computação em Clusters e Grids, MPI, escalonamento de processos.
Linguagens de Domínios Específico: O Que São, Quando e Como Utilizar André Santos* e André Furtado** (CIn/UFPE) 2h A palestra vai apresentar o conceito de Linguagens de Domínio Específico (DSLs - Domain Specific Languages), muito úteis para o aumento de produtividade em contextos em que desenvolvemos várias aplicações para um mesmo domínio (por exemplo, no contexto de fábricas de software). Além disso, elas facilitam a interação e integração entre usuário e desenvolvedor, aproximando-os com uma linguagem de fácil entendimento comum. Apresentaremos os motivos que levam à criação de uma DSL e o processo de criação e de uso de DSLs. Também apresentaremos ferramentas que apoiam a criação de DSLs, e exemplos de uso. * André Santos é PhD pela Universidade de Glasgow, Escócia,e atualmente é professor adjunto do Centro de Informática da Universidade Federal de Pernambuco, atuando nas áreas de linguagens de programação e engenharia de software. ** André Furtado é mestre e doutorando em Ciência da Computação pela UFPE, e Software Developer Engineer in Test (SDET) na Microsoft Corp.
|